home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8506a.d64 / Erstellen eines (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  7KB  |  218 lines

  1. 7 POKE45,PEEK(174):POKE46,PEEK(175):CLR
  2. 8 REM (C) BY KLAUS KLOEKER
  3. 9 CLR:DIMA$(15),E(50,6),E$(50,6):GOTO1000
  4. 10 Z1=3:Z2=9:S=13:REM * MASKE LOESCHEN *
  5. 15 FORZ=Z1TOZ2:GOSUB90:PRINT"                          ":NEXT:IFC=0THENRETURN
  6. 20 Z1=13:Z2=21:C=0:GOTO15
  7. 30 FORJ=2TO6:E$(I,J)=STR$(INT(E(I,J)*10+.5)):REM * FORMAT TABELLE
  8. 35 E$(I,J)=LEFT$(E$(I,J),LEN(E$(I,J))-1)+"."+RIGHT$(E$(I,J),1)
  9. 40 L$="":FORA=1TO10-LEN(E$(I,J)):L$=L$+".":NEXT
  10. 45 E$(I,J)=L$+E$(I,J)
  11. 50 IFLEN(E$(I,J))>10THENE$(I,J)=RIGHT$(E$(I,J),10)
  12. 55 NEXT:RETURN
  13. 70 LOAD"FM.MENUE",8:REM *LOAD MENUE
  14. 80 A=55909:FORI=1637TO1662:POKEI,100:POKEA,1:A=A+1:NEXT:RETURN
  15. 90 POKE214,Z:POKE211,S:SYS58732:RETURN:REM * CURSORPOSITION *
  16. 95 FORI=56216TO56255:POKEI,O:NEXT:RETURN
  17. 100 REM * AUSWAHLROUTINE *
  18. 110 GOSUB90:PRINT"           [146]":FORI=1TO75:NEXTI
  19. 120 GOSUB90:PRINT""A$(Y)"[146]":FORI=1TO125:NEXT
  20. 130 GETG$:IFG$<>CHR$(133)ANDG$<>CHR$(134)ANDG$<>CHR$(135)ANDG$<>CHR$(13)THEN110
  21. 140 IFG$=CHR$(133)ANDCTHENC=0:RETURN
  22. 150 IFG$=CHR$(13)THENGOSUB90:A$(Y)=">"+MID$(A$(Y),2,10):PRINT""A$(Y)"[146]":RETURN
  23. 155 IFG$=CHR$(134)THEN170
  24. 160 IFG$=CHR$(135)THEN190
  25. 165 GOTO110
  26. 170 Z=Z+SW:Y=Y+1:IFZ>Z2THENZ=Z1:Y=Y1
  27. 180 GOTO110
  28. 190 Z=Z-SW:Y=Y-1:IFZ<Z1THENZ=Z2:Y=Y2
  29. 195 GOTO110
  30. 200 REM * WAHL-FUSSZEILE *:S=0
  31. 210 Z=23:GOSUB90:PRINT"        [146]";:FORI=1TO75:NEXT
  32. 220 GOSUB90:PRINT""BA$(Y)"[146]";:FORI=1TO175:NEXT
  33. 230 GETG$:IFG$<>CHR$(134)ANDG$<>CHR$(135)ANDG$<>CHR$(13)THEN210
  34. 240 IFG$=CHR$(13)THENGOSUB90:PRINT">[146]";:RETURN
  35. 250 IFG$=CHR$(135)THEN280
  36. 260 S=S+8:Y=Y+1:IFS>32THENS=0:Y=1
  37. 270 GOTO210
  38. 280 S=S-8:Y=Y-1:IFS<0THENS=32:Y=5
  39. 290 GOTO210
  40. 300 REM * EINGABEROUTINE *
  41. 310 GOSUB90
  42. 320 IN$=""
  43. 330 PRINT"[162][157]";
  44. 340 GETG$:IFG$=""THEN340
  45. 350 G=ASC(G$):IFG=13THENGOTO460
  46. 360 IFG=13THENRETURN
  47. 370 IFG$<"0"ORG$>"9"THEN420
  48. 380 IN$=IN$+G$
  49. 390 PRINTG$;
  50. 400 IFLEN(IN$)>NTHENFORI=1TOLEN(IN$):PRINTCHR$(20);:NEXT:GOTO320
  51. 410 GOTO330
  52. 420 IFG=46THEN380
  53. 425 IFG$=CHR$(133)THEN9
  54. 430 IFG<>20THEN330
  55. 440 IFLEN(IN$)<1THEN330
  56. 450 IN$=LEFT$(IN$,LEN(IN$)-1):GOTO390
  57. 460 PN$="":FORI=1TO(9-LEN(IN$)):PN$=PN$+".":NEXT:PRINTPN$
  58. 470 IFLEN(IN$)<1THEN310
  59. 480 RETURN
  60. 900 REM * MASKE *
  61. 910 PRINTMA$:A=55388:FORI=1076TO1906STEP40:POKEI,101:POKEA,1:A=A+40:NEXT
  62. 920 A=55776:FORI=1504TO1514:POKEI,100:POKEA,1:A=A+1:NEXT
  63. 930 A=55785:FORI=1517TO1546:POKEI,100:POKEA,1:A=A+1:NEXT
  64. 950 Z=3:S=0:GOSUB90:PRINT"[193]USWAHL :":PRINT"[163][163][163][163][163][163][163][163][163]":PRINT" - - - - - [146]"
  65. 960 Z=6:FORI=1TO3:GOSUB90:PRINT""A$(I)"[146]":PRINT" - - - - - [146]":Z=Z+2:NEXT
  66. 970 RETURN
  67. 999 :
  68. 1000 REM ** TILGUNGSRECHNUNG *
  69. 1010 GOSUB6000:GOSUB900
  70. 1020 Z=23:S=0:GOSUB90:PRINTMB$
  71. 1080 Z=6:Z1=Z:Z2=10:S=0:Y=1:Y1=Y:Y2=3:SW=2:C=0:GOSUB100:F=Y:IFF=3THEN70
  72. 2000 REM * EINGABEMASKE *
  73. 2010 Z=3:S=13:GOSUB90:PRINT"[197]INGABE :":Z=4:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163]"
  74. 2020 Z=5:FORI=4TO6:S=13:GOSUB90:PRINT""A$(I)"[146] : ";PM$
  75. 2030 Z=Z+2:NEXT:Z=23:S=0:GOSUB90:PRINTMC$
  76. 2040 Z=5:S=27:N=9:FORJ=4TO6:GOSUB300:A(J)=VAL(IN$):Z=Z+2:NEXT
  77. 2070 Z=14:S=13:GOSUB90:PRINT"[197]INGABE KORREKT ? (J/N):":GOSUB80
  78. 2080 Z=14:S=38:GOSUB90:PRINT"[162][157]";
  79. 2090 GETG$:IFG$<>"J"ANDG$<>"N"THEN2090
  80. 2100 PRINTG$:IFG$="J"THENY=1
  81. 2110 IFG$="N"THENY=0
  82. 2120 GETI$:IFI$<>CHR$(13)ANDI$<>CHR$(20)THEN2120
  83. 2130 IFI$=CHR$(20)THEN2080
  84. 2140 C=1:GOSUB10:IFY=0THEN2010
  85. 3000 REM * RECHNUNG *
  86. 3005 PRINT"[147]":Z=23:S=23:GOSUB90:PRINTMG$:EE(3)=0:EE(5)=0
  87. 3010 IFF=2THEN3500
  88. 3100 REM * RATENTILGUNG *
  89. 3110 T1=A(4)/A(6):J2=0:T2=0
  90. 3120 FORI=1TOA(6):R1=A(4)-J2*T2:Z1=R1*(A(5)/100):A1=Z1+T1
  91. 3130 E(I,2)=R1:E(I,3)=Z1:E(I,4)=T1:E(I,5)=A1:E(I,6)=A1/12:GOSUB30
  92. 3140 FORJ=3TO5STEP2:EE(J)=EE(J)+E(I,J):NEXT
  93. 3150 J2=J2+1:T2=(A(4)/A(6)):NEXT:GOTO3700
  94. 3500 REM * AUNNUITAETENTILGUNG *
  95. 3510 Q1=A(5)/100+1:T1=A(4)*((Q1-1)/(Q1^A(6)-1))
  96. 3520 Z1=A(4)*(A(5)/100):A1=T1+Z1:R1=A(4)
  97. 3530 E(1,2)=R1:E(1,3)=Z1:E(1,4)=T1:E(1,5)=A1:E(1,6)=A1/12:I=1:GOSUB30
  98. 3540 T2=T1:FORI=2TOA(6):R1=R1-T2:Z2=R1*(A(5)/100):T2=T2*Q1
  99. 3550 E(I,2)=R1:E(I,3)=Z2:E(I,4)=T2:E(I,5)=A1:E(I,6)=A1/12:GOSUB30
  100. 3560 FORJ=3TO5STEP2:EE(J)=EE(J)+E(I,J):NEXTJ:NEXTI
  101. 3570 EE(3)=EE(3)+E(1,3):EE(5)=EE(5)+E(1,5)
  102. 3700 EE(3)=EE(3)/2:EE(5)=EE(5)/2
  103. 3710 FORI=3TO5STEP2:EE$(I)=STR$(INT(EE(I)*10/.5))
  104. 3720 EE$(I)=LEFT$(EE$(I),LEN(EE$(I))-1)+"."+RIGHT$(EE$(I),1):NEXT
  105. 3800 REM * SCREEN *
  106. 3805 GOSUB900
  107. 3810 Z=3:S=13:GOSUB90:PRINT"[197]INGABE :":Z=4:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163]"
  108. 3820 Z=5:S=13:FORI=4TO6:GOSUB90:PRINTA$(I)" :"A(I):Z=Z+2:NEXT
  109. 3830 Z=14:S=13:GOSUB90:PRINT"[210]ESULTAT :":Z=15:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163][163]"
  110. 3840 Z=17:FORJ=3TO5STEP2:GOSUB90:PRINT""EC$(J)"[146]:"EE$(J):Z=Z+2:NEXT
  111. 3850 Z=21:GOSUB90:PRINT"[193]USDRUCK IN '[196][205]' !"
  112. 3860 ZA=VAL(EE$(3))/(VAL(EE$(5))/100)
  113. 3870 Z=14:S=0:GOSUB90:PRINT"   [218]INS-   [146]":Z=15:GOSUB90:PRINT"   ANTEIL  [146]"
  114. 3880 ZA$=STR$(ZA):IFZA<10THENZA$=" "+ZA$
  115. 3890 ZA$=LEFT$(ZA$,5):Z=17:S=2:GOSUB90:PRINTZA$;" %"
  116. 3900 Z=18:S=3:GOSUB90:PRINT"======"
  117. 3910 Z=23:S=0:GOSUB90:FORI=1TO5:PRINT""BA$(I)"[146]";:NEXT
  118. 3920 Y=1:GOSUB200:IFY=5THEN70
  119. 3930 IFY=4THEN9
  120. 3940 IFY=3THEN5500
  121. 3950 IFY=2THEN5000
  122. 4000 REM * TABELLE *
  123. 4010 GOSUB95:X1=2:X2=4:Y1=1:Y2=A(6)
  124. 4020 Z=1:S=0:GOSUB90:FORI=1TO22:PRINTMD$:NEXT:Z=22:GOSUB90:PRINTMH$
  125. 4030 Z=3:S=0:GOSUB90:PRINTM$(1)
  126. 4040 Z=3:S=6:FORI=X1TOX2:GOSUB90:PRINTM$(I):S=S+11:NEXT
  127. 4050 Z=4:S=1:GOSUB90:FORI=1TO37:PRINT"=";:NEXT
  128. 4100 Z=6:S=1:FORI=Y1TOY2
  129. 4105 I$=STR$(I):IFI<10THENI$="."+I$
  130. 4107 GOSUB90:PRINT"."+I$:S=6
  131. 4110 FORJ=X1TOX2
  132. 4120 GOSUB90:PRINTE$(I,J)
  133. 4130 S=S+11:NEXTJ
  134. 4140 IFPEEK(214)>15THENY2=I:Y1=Y2-9:GOTO4200
  135. 4150 Z=Z+1:S=1:NEXTI
  136. 4200 Z=17:S=1:GOSUB90:FORJ=1TO38:PRINT"-";:NEXT
  137. 4500 WAIT203,63:GETG$
  138. 4510 IFG$=CHR$(29)THEN4550
  139. 4520 IFG$=CHR$(157)THEN4580
  140. 4530 IFG$=CHR$(17)THEN4610
  141. 4540 IFG$=CHR$(145)THEN4640
  142. 4543 IFG$=CHR$(133)THEN3800
  143. 4545 GOTO4500
  144. 4550 X1=X1+1:X2=X2+1:REM * ->
  145. 4560 IFX2>6THENX2=6:X1=4:GOTO4500
  146. 4570 GOTO4030
  147. 4580 X1=X1-1:X2=X2-1:REM * <-
  148. 4590 IFX1<2THENX1=2:X2=4:GOTO4500
  149. 4600 GOTO4030
  150. 4610 IFA(6)<10THENGOTO4500
  151. 4615 Y1=Y1+10:Y2=Y2+10:REM * DOWN
  152. 4620 IFY2>A(6)THENY2=A(6):Y1=Y2-9:IFI=A(6)THEN4500
  153. 4630 GOTO4030
  154. 4640 IFA(6)<10THENGOTO4500
  155. 4645 Y1=Y1-10:Y2=Y2-10:REM * UP
  156. 4650 IFY1<1THENY1=1:Y2=Y1+9:IFI<11THEN4500
  157. 4660 GOTO4030
  158. 5000 REM * AENDERUNG *
  159. 5010 C=1:GOSUB10:S=0:FORZ=13TO20:GOSUB90:PRINT"           ":NEXT
  160. 5020 Z=3:S=13:GOSUB90:PRINT"[193]ENDERUNG :":Z=4:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163][163][163]"
  161. 5030 Z=5:S=13:FORI=4TO6:GOSUB90:PRINT""A$(I)"[146] :";A(I):Z=Z+2:NEXT
  162. 5040 Z=23:S=0:GOSUB90:PRINTMF$;
  163. 5050 Z=5:Z1=Z:Z2=9:S=13:Y=4:Y1=Y:Y2=6:SW=2:C=1:GOSUB100
  164. 5060 IFC=0GOTO3000
  165. 5070 Z=14:S=13:GOSUB90:PRINT""A$(Y)"[146] : ";PM$:GOSUB80
  166. 5080 Z=23:S=0:GOSUB90:PRINTMC$;:Z=14:S=27:GOSUB300:A(Y)=VAL(IN$)
  167. 5090 A$(Y)=" "+MID$(A$(Y),2,10):GOTO5010
  168. 5500 REM * PRINTER
  169. 5505 TB$=CHR$(16):TA$=CHR$(10)
  170. 5510 OPEN4,4,7:PRINT#4,CHR$(14)TB$"10[193]USDRUCK EINES [212]ILGUNGSPLANES"
  171. 5520 PRINT#4,TB$;"10-----------------------------"TA$
  172. 5530 FORI=4TO6:PRINT#4,CHR$(15)TB$"10*** "A$(I)" : "A(I):NEXT
  173. 5540 PRINT#4,TA$;TA$;TA$
  174. 5550 FORI=1TO6:PRINT#4,"   "M$(I);:NEXT:PRINT#4," "
  175. 5560 FORI=1TO40:PRINT#4,"--";:NEXT:PRINT#4
  176. 5570 FORI=1TOA(6):I$=STR$(I):IFI<10THENI$="."+I$
  177. 5575 PRINT#4,"    ."+I$" ";
  178. 5580 FORJ=2TO6:PRINT#4," .."E$(I,J);:NEXTJ:PRINT#4," ":NEXTI
  179. 5590 FORI=1TO40:PRINT#4,"--";:NEXT:PRINT#4
  180. 5595 PRINT#4," [199]ESAMT:";
  181. 5600 PO=27:FORJ=3TO5STEP2:PRINT#4,SPC(PO-LEN(EE$(J)))EE$(J);:PO=26:NEXT
  182. 5610 PRINT#4,TA$;TA$;TB$"10*** [193]USDRUCK DER [212]ABELLE ERFOLGT IN '[196][205]' !"
  183. 5620 PRINT#4,TB$"10*** [194]ERECHNUNG DER [218]INSEN ERFOLGT AM [197]NDE DES [202]AHRES !"
  184. 5630 PRINT#4,TA$;TB$"10*** [212]ILGUNG KONSTANT   = [210]ATENTILGUNG !!"
  185. 5640 PRINT#4,TB$"10*** [193]NNUITAET KONSTANT = [193]NNUITAETENTILGUNG !!"
  186. 5650 PRINT#4:FORI=1TO40:PRINT#4,"==";:NEXTI:PRINT#4,TA$;TA$;TA$;TA$
  187. 5660 CLOSE4:GOTO3860
  188. 6000 REM * VARIABLEN *
  189. 6010 MA$="[147]    [212] [201][160][204][160][199][160][213][160][206][160][199][160][211][160][210][160][197][160][195][160][200][160][206][160][213][160][206][160][199]    [146]"
  190. 6020 MB$=" [198]3 U. [198]5 - [215]AHL ! '[210][197][212][213][210][206]' - [197]INGABE !"
  191. 6030 MC$=" [198]1 - [193]USWAHL !   [199]EBEN [211]IE EIN !      [146]"
  192. 6040 MD$="                                       "
  193. 6050 ME$="                                       [146]"
  194. 6060 MF$=" [198]1 - [210]ESULTAT !     [198]3 U. [198]5 - [215]AHL ! [146]"
  195. 6070 MG$="[194]ITTE [215]ARTEN !!!"
  196. 6080 MH$=" [198]1 - [210]ESULTAT !    [195]URSOR - [211]TEUERN ! [146]"
  197. 6100 A$(1)=" [210]ATENTILG."
  198. 6110 A$(2)=" [193]NNU.TILG."
  199. 6120 A$(3)="  [205]ENUE    "
  200. 6130 A$(4)=" [196]ARLEHEN  "
  201. 6140 A$(5)=" [218]INSSATZ  "
  202. 6150 A$(6)=" [202]AHRE     "
  203. 6160 PM$="........."
  204. 6200 M$(1)=" [202]AHR "
  205. 6210 M$(2)="[210]ESTSCHULD"
  206. 6220 M$(3)="    [218]INSEN"
  207. 6230 M$(4)="   [212]ILGUNG"
  208. 6240 M$(5)=" [193]NNUITAET"
  209. 6250 M$(6)=" [193]NNU./[205]ON"
  210. 6300 EC$(3)=" [218]INSEN  GES."
  211. 6310 EC$(5)=" [193]NNUIT. GES."
  212. 6400 BA$(1)=" [212]ABELLE"
  213. 6410 BA$(2)=" [193]ENDERN"
  214. 6420 BA$(3)="  [203]OPIE "
  215. 6430 BA$(4)="   [206]EU  "
  216. 6440 BA$(5)="  [205]ENUE "
  217. 6500 RETURN
  218.